Tarea 2.

install.packages(“dplyr”) install.packages(‘tidyverse’)

Carga de paquetes.

library(plotly)
library(DT)
library(ggplot2)
library(dplyr)
library(readxl)
library(ggthemes)
library(tidyverse)
Estadisticas_Policiales_OIJ <- 
  readxl::read_excel("C:/Users/Usuario/Desktop/UCR/I ciclo 2022/Procesamiento de datos geograficos/Tarea 2/Analisis de estadisticas policiales 2021/estadisticaspoliciales2021.xls")

Estadisticas_Policiales_OIJ$Fecha <-
  as.Date(Estadisticas_Policiales_OIJ$Fecha, format = "%Y-%m-%d")

Desarrollo

Tabla interactiva DT.

Estadisticas_Policiales_OIJ %>%
  dplyr::select(Delito, Fecha, Victima, Edad, Genero, Provincia, Canton) %>%
  mutate(Fecha = as.Date(Fecha, format = "%d/%m/%Y")) %>%
  datatable(
    options = list(
      pageLenght = 15,
      language = list(url = 
'//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')),
    colnames = c(
      #Nombres de columnas
      "Delito",
      "Fecha",
      "Víctima",
      "Edad",
      "Género",
      "Provincia",
      "Cantón"
    )
  )
## Warning in instance$preRenderHook(instance): It seems your data is too big
## for client-side DataTables. You may consider server-side processing: https://
## rstudio.github.io/DT/server.html

Gráfico de barras simples para cantidad por tipo de delito.

Cantidad_por_tipo_delito <-
  Estadisticas_Policiales_OIJ %>%
  count(Delito) %>%
  ggplot(aes(x = reorder(Delito, n), y = n)) +
  geom_bar(stat = "identity") +
  ggtitle("Cantidad de delitos por tipo") +
  xlab("Tipo de delito") +
  ylab("Cantidad") +
  coord_flip() +
  theme_hc()

Cantidad_por_tipo_delito %>%
  ggplotly() %>%
  config(locale = "es")

Gráfico de barras apiladas por cada tipo de delito y su proporción.

Grafico_4 <-
  Estadisticas_Policiales_OIJ %>%
  ggplot(aes(x = Genero, fill = Delito)) +
  geom_bar(position = "fill") +
  ggtitle("Gráfico tipo delito y proporción") +
  xlab("Género") +
  ylab("Proporción") +
  labs(fill = "Delito") +
  theme_minimal()

ggplotly(Grafico_4) %>% config(locale = 'es')

Gráfico de barras simples para cantidad de delitos en los cantones: San José, Alajuela, Cartago y Heredia.

Grafico_5 <- filter(Estadisticas_Policiales_OIJ, grepl('HEREDIA|ALAJUELA|CARTAGO|SAN JOSE', Provincia))

Delitos_cantones_SanJose_Alajuela_Cartago_Heredia <-
  ggplot(data= Grafico_5, aes(x=Provincia)) +
  geom_bar( ) +
  ggtitle("Delitos según cantones: San Jose Alajuela Cartago Heredia") +
  xlab("Provincias") +
  ylab("Cantidad de Delitos") +
  theme_minimal()

ggplotly(Delitos_cantones_SanJose_Alajuela_Cartago_Heredia) %>% config(locale = 'es')